#include<deque>
#include<list>
#include<vector>
#include<iostream>
#include<algorithm>
using namespace std;

#include"queue.h"
#include"stack.h"
#include"priority.h"
void test01()
{
	Stack::stack<int,deque<int>>s1;
	s1.push(1);
	s1.push(2);
	s1.push(3);
	s1.push(4);
	while (!s1.empty())
	{
		cout << s1.top() << " ";
		s1.pop();
	}
	cout << endl;
}
void test02()
{
	Queue::queue<int,vector<int>>s1;
	s1.push(1);
	s1.push(2);
	s1.push(3);
	s1.push(4);
	while (!s1.empty())
	{
		cout << s1.top() << " ";
		s1.pop();
	}
	cout << endl;
}

	
	void test03()
	{
		czy::priority_queue<int, vector<int>, my_greater<int>> v;
		v.push(1);
		v.push(2);
		v.push(3);
		v.push(4);
		v.push(5);
		v.push(5);
		v.push(5);
		v.push(5);
		while (!v.empty())
		{
			cout << v.top()<<" ";
			v.pop();
		}
	}
int main()
{
	test01();
	test02();
	test03();
	return 0;
}